Перейти к основному содержимому

7.03. Git команды

Разработчику Архитектору Инженеру

Git команды

  1. git init – инициализация нового репозитория. Команда создаёт новый локальный Git-репозиторий в текущей директории. Можно открыть папку в терминале (допустим, в папке «Открыть в Терминале» или через cd), и выполнить эту команду – будет создан репозиторий, и Git начнёт отслеживать изменения в файлах. При этом будет создана скрытая папка .git, где будут храниться все метаданные репозитория.
  2. git status – проверка состояния репозитория. Показывает текущее состояние рабочего каталога и индекса (staging area). Отображает, какие файлы изменены, добавлены или удалены.
  3. git add – добавление файлов в индекс. Добавляет изменения из рабочего каталога в индекс (staging area). Это первый шаг перед созданием коммита. Например:
git add .env      # Добавить конкретный файл
git add . # Добавить все изменённые файлы

  1. git commit – фиксация изменений. Создаёт новый коммит с изменениями из индекса. Коммит сохраняет текущее состояние проекта и добавляет сообщение, через «-m», по принципу:
git commit -m "Добавил файл – это сообщение-комментарий."
  1. git diff – просмотр изменений. Показывает различия между рабочим каталогом, индексом и последним коммитом.
  2. git log – история коммитов. Отображает историю коммитов репозитории. Можно настроить формат вывода (--oneline, --graph).
  3. git push – отправка изменений на удалённый репозиторий. Отправляет локальные коммиты на удалённый репозиторий. Например, чтобы отправить изменения в ветку main, нужно выполнить:
git push origin main
  1. git pull – получение изменений с удалённого репозитория. Загружает изменения из удалённого репозитория и объединяет их с локальной веткой. Пример:
git pull origin main
  1. git branch – работа с ветками. Создание, удаление и просмотр веток. Ветки позволяют работать над разными частями проекта независимо.
  2. git checkout – переключение между ветками. Переключается на указанную ветку или восстанавливает файлы из определённого коммита.
  3. git merge – слияние веток. Объединяет изменения из одной ветки в другую.
  4. git reset – отмена изменений. Отменяет изменения, перемещая указатель HEAD на предыдущий коммит. Может быть мягким (--soft) или жёстким (--hard).
  5. git rm – удаление файлов. Удаляет файлы из рабочего каталога и индекса.
  6. git mv – переименование или перемещение файлов в рабочем каталоге. Пример:
git mv oldname.txt newname.txt
  1. git stash – временное сохранение изменений (допустим для переключения на другую задачу. git stash pop – применяет последние сохранённые изменения.
  2. git tag – создание тегов. Создаёт теги для пометки важных моментов в истории.
  3. git fetch – загрузка изменений с удалённого репозитория без слияния. Важно отметить, что git pull подразумевается загрузку данных и слияние, словно git fetch+git merge. git fetch используется для просмотра данных в репозитории.
  4. git remote – управление удалённым репозиторием. К примеру, git remote -v показывает список удалённых репозиториев.
  5. git archive – создание архива текущего состояния репозитория. Пример:
git archive --format=zip --output=project.zip main
  1. git submodule – работа с подмодулями. Добавляет другие репозитории как подмодули текущего проекта.
  2. git show – просмотр информации о коммите. Показывает детали конкретного коммита.
  3. git shortlog – краткая история коммитов. Группирует коммиты по авторам.
  4. git describe – описание текущего состояния. Показывает ближайший тег и количество коммитов после него.
  5. git clone – клонирование репозитория. Создаёт копию удалённого репозитория на локальном компьютере.
  6. git config – настройка Git. Настройка параметров, к примеру, имя пользователя, email.

Команда git push --force-with-lease — это безопасная альтернатива git push --force. Она позволяет переписать историю удалённой ветки, но делает это с дополнительной проверкой, чтобы не затереть чужие изменения.

То есть команда перезаписывает только если HEAD на сервере не изменился.

Когда использовать — После git rebase или git commit --amend, когда история изменилась. — Когда работаете в команде и хотите сохранить чужие изменения. — На pull request ветках — безопаснее, чем просто --force.

Практическое задание
Установите Git.
Найдите любой открытый и безопасный репозиторий на интересном для вас языке.
Клонируйте репозиторий.